﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Empresa.Sistema.Datos.Entidades;
using Empresa.Sistema.Aplicacion;

namespace Empresa.Sistema.Presentacion
{
    public partial class mntAutores : Form
    {


        #region "Instanciar"

        private static mntAutores m_FormDefInstance;
        public static mntAutores DefInstance
        {
            get
            {
                if (m_FormDefInstance == null || m_FormDefInstance.IsDisposed)
                    m_FormDefInstance = new mntAutores();
                return m_FormDefInstance;
            }
            set
            {
                m_FormDefInstance = value;
            }
        }

        #endregion 


        public mntAutores()
        {
            InitializeComponent();
        }

        List<Autor> lista = new List<Autor>();
        public Autor aut;
        public string accion;

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            accion = "adicionar";
            var regAutor = new regAutores();
            regAutor.Owner = this;
            regAutor.ShowDialog();
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            accion = "modificar";
            var regAutor = new regAutores();
            regAutor.Owner = this;
            regAutor.ShowDialog();
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            accion = "eliminar";
            var regAutor = new regAutores();
            regAutor.Owner = this;
            regAutor.ShowDialog();            
        }
                
        private void mntAutores_Load(object sender, EventArgs e)
        {
            lista = new Autores().Listar();
            dgvAutores.AutoGenerateColumns = false;
            dgvAutores.DataSource = lista;
        }

        private void txtApellido_TextChanged(object sender, EventArgs e)
        {
            lista = new Autores().ConsultaPorApellido(txtApellido.Text);
            dgvAutores.AutoGenerateColumns = false;
            dgvAutores.DataSource = lista;
        }

        private void dgvAutores_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvAutores.CurrentCell.RowIndex >= 0)
            {
                aut = (Autor)lista[dgvAutores.CurrentCell.RowIndex];
            }
        }
                
    }
}
